iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

Event Bus

接下來我們需要將物品註冊到事件巴士 Event Bus中,這樣我們才可以在遊戲開始時將我們的物品載入遊戲,在程式設計中,Event Bus可以拿來註冊事件監聽器,再發生某些特定事件的時候執行相對應的程式碼。在遊戲內Event Bus也是如此,但是又有些不同,他多出了一些功能,比如註冊物品和其他東西。

在Forge原本的程式碼中,註冊物品的程式碼為

ITEMS.register(eventBus)

由於我們的物品註冊命名為ModItems,我們需要一個新方法來註冊,在我找到的教學中使用了下面的程式碼。

public static void register(IEventBus eventBus){
    ITEMS.register(eventBus);
}

我們先在ModItems中加入這段程式碼,這樣我們就可以自由呼叫物品註冊

Mod Event Bus

IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();

在Forge原先的程式碼中有這麼一段名為modEventBus的變數,這段程式碼建立了一個Event Bus的物件,它負責管理和處理與 Minecraft 模組相關的事件。這個Event Bus是基於 Forge 模組開發框架的一部分。 modEventBus可以註冊模組的事件監聽器,以便在遊戲中處理自訂的邏輯和功能。Mod Eventbus在 Forge 模組開發中扮演著重要的角色,用於與遊戲事件系統互動。

題外話,在Forge官方論壇中有說,想要將東西註冊到 mod特定Event Bus,必須使用上面的FMLJavaModLoadingContext,他還特地留空標註 你 必 需 用 這 個 。


上一篇
Minecraft Mod 模組製作 [DAY8] 目標是丐版IC2
下一篇
Minecraft Mod 模組製作 [DAY10] 創造模式的物品分類
系列文
成為童年的英雄,Minecraft Java 模組製作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言